# ************************************************************************* # * * # * Makefile for * # * * # * Compiler Construction Tool Box * # * ============================== * # * * # * Copyright (c) 1989, 1990, 1991, 1992 by * # * * # * Gesellschaft fuer Mathematik und Datenverarbeitung * # * (German National Research Center for Computer Science) * # * Forschungsstelle fuer Programmstrukturen * # * an der Universitaet Karlsruhe * # * * # * All rights reserved. GMD assumes no responsibility for the use * # * or reliability of its software. * # * * # ************************************************************************* # Choose a suitable C compiler CC = cc # Choose optimizer flags for the C compiler OPT = # Choose a suitable Modula compiler # MC or M2C MC = MC # BSD needs this MAKE = make # The place to install the binaries BIN = $(HOME)/bin # The libraries go there LIB = $(HOME)/lib # Directory for man pages MANDIR = $(HOME)/lib # Where to put include files for reuse INCDIR = $(LIB)/include # The following targets are legal: # PCS10 # PCS20 # SUN (also valid for DECstations and VAX) TARGET = SUN # For PCS10 you must define # OPT = "-DPCS10" # Choose the source language: LANGUAGE = c # LANGUAGE = modula # **************************************************************** # * DON'T CHANGE ANYTHING BELOW THIS LINE ! # **************************************************************** MFLAGS = BIN=$(BIN) LIB=$(LIB) CC=$(CC) OPT=$(OPT) MC=$(MC) CTARGETS = \ reuselib \ c_reuse \ c_common \ c_rex \ c_front \ c_bnf \ c_ell \ c_lalr \ c_l2r \ c_y2l \ c_r2l \ c_rpp \ c_cg \ c_puma \ c_estra MTARGETS = \ reuselib \ m_reuse \ m_common \ m_rex \ m_front \ m_bnf \ m_ell \ m_lalr \ c_l2r \ c_y2l \ m_r2l \ m_rpp \ m_cg \ m_puma \ m_mpp \ m_estra all: $(LANGUAGE) install: install$(LANGUAGE) reuselib: @echo; echo "Making public reuse library" cd reuse/c; $(MAKE) $(MFLAGS) TARGET=$(TARGET) c: $(CTARGETS) c_reuse: @echo; echo "Making local reuse library" cd reuse/m2c; $(MAKE) $(MFLAGS) c_common: @echo; echo "Making common" cd common/m2c; $(MAKE) $(MFLAGS) c_rex: @echo; echo "Making rex" cd rex/m2c; $(MAKE) $(MFLAGS) c_front: @echo; echo "Making front" cd front/m2c; $(MAKE) $(MFLAGS) c_bnf: @echo; echo "Making bnf" cd bnf/m2c; $(MAKE) $(MFLAGS) c_ell: @echo; echo "Making ell" cd ell/m2c; $(MAKE) $(MFLAGS) c_lalr: @echo; echo "Making lalr" cd lalr/m2c; $(MAKE) $(MFLAGS) c_l2r: @echo; echo "Making l2r" cd l2r; $(MAKE) $(MFLAGS) c_y2l: @echo; echo "Making y2l" cd y2l; $(MAKE) $(MFLAGS) c_r2l: @echo; echo "Making r2l" cd r2l/m2c; $(MAKE) $(MFLAGS) c_rpp: @echo; echo "Making rpp" cd rpp/m2c; $(MAKE) $(MFLAGS) c_cg: @echo; echo "Making cg" cd cg/m2c; $(MAKE) $(MFLAGS) c_puma: @echo; echo "Making puma" cd puma/m2c; $(MAKE) $(MFLAGS) c_estra: @echo; echo "Making estra" cd estra/m2c; $(MAKE) $(MFLAGS) installc: c_reuse c_common sh -c "if test ! -d $(BIN); then mkdir $(BIN); else true; fi" sh -c "if test ! -d $(LIB); then mkdir $(LIB); else true; fi" sh -c "if test ! -d $(MANDIR); then mkdir $(MANDIR); else true; fi" sh -c "if test ! -d $(INCDIR); then mkdir $(INCDIR); else true; fi" cd reuse/c ; $(MAKE) install $(MFLAGS) TARGET=$(TARGET) INCDIR=$(INCDIR) cd rex/m2c ; $(MAKE) install $(MFLAGS) cd front/m2c ; $(MAKE) install $(MFLAGS) cd bnf/m2c ; $(MAKE) install $(MFLAGS) cd ell/m2c ; $(MAKE) install $(MFLAGS) cd lalr/m2c ; $(MAKE) install $(MFLAGS) cd front/doc ; $(MAKE) install $(MFLAGS) cd l2r ; $(MAKE) install $(MFLAGS) cd y2l ; $(MAKE) install $(MFLAGS) cd r2l/m2c ; $(MAKE) install $(MFLAGS) cd rpp/m2c ; $(MAKE) install $(MFLAGS) cd cg/m2c ; $(MAKE) install $(MFLAGS) cd puma/m2c ; $(MAKE) install $(MFLAGS) cd estra/m2c ; $(MAKE) install $(MFLAGS) cd man; cp * $(MANDIR); chmod a+r $(MANDIR)/*.1 modula: $(MTARGETS) m_reuse: @echo; echo "Making local reuse library" cd reuse/src; $(MAKE) $(MFLAGS) m_common: @echo; echo "Making common" cd common/src; $(MAKE) $(MFLAGS) m_rex: @echo; echo "Making rex" cd rex/src; $(MAKE) $(MFLAGS) m_front: @echo; echo "Making front" cd front/src; $(MAKE) $(MFLAGS) m_bnf: @echo; echo "Making bnf" cd bnf/src; $(MAKE) $(MFLAGS) m_ell: @echo; echo "Making ell" cd ell/src; $(MAKE) $(MFLAGS) m_lalr: @echo; echo "Making lalr" cd lalr/src; $(MAKE) $(MFLAGS) m_r2l: @echo; echo "Making r2l" cd r2l/src; $(MAKE) $(MFLAGS) m_rpp: @echo; echo "Making rpp" cd rpp/src; $(MAKE) $(MFLAGS) m_cg: @echo; echo "Making cg" cd cg/src; $(MAKE) $(MFLAGS) m_puma: @echo; echo "Making puma" cd puma/src; $(MAKE) $(MFLAGS) m_mpp: @echo; echo "Making mpp" cd mpp/src; $(MAKE) $(MFLAGS) m_estra: @echo; echo "Making estra" cd estra/src; $(MAKE) $(MFLAGS) installmodula: m_reuse m_common sh -c "if test ! -d $(BIN); then mkdir $(BIN); else true; fi" sh -c "if test ! -d $(LIB); then mkdir $(LIB); else true; fi" sh -c "if test ! -d $(MANDIR); then mkdir $(MANDIR); else true; fi" sh -c "if test ! -d $(INCDIR); then mkdir $(INCDIR); else true; fi" cd reuse/c ; $(MAKE) install $(MFLAGS) TARGET=$(TARGET) INCDIR=$(INCDIR) cd rex/src ; $(MAKE) install $(MFLAGS) cd front/src ; $(MAKE) install $(MFLAGS) cd bnf/src ; $(MAKE) install $(MFLAGS) cd ell/src ; $(MAKE) install $(MFLAGS) cd lalr/src ; $(MAKE) install $(MFLAGS) cd front/doc ; $(MAKE) install $(MFLAGS) cd l2r ; $(MAKE) install $(MFLAGS) cd y2l ; $(MAKE) install $(MFLAGS) cd r2l/src ; $(MAKE) install $(MFLAGS) cd rpp/src ; $(MAKE) install $(MFLAGS) cd cg/src ; $(MAKE) install $(MFLAGS) cd puma/src ; $(MAKE) install $(MFLAGS) cd mpp/src ; $(MAKE) install $(MFLAGS) cd estra/src ; $(MAKE) install $(MFLAGS) cd man; cp * $(MANDIR); chmod a+r $(MANDIR)/*.1 endian: cd hexa ; $(MAKE) endian; endian bin.conv: -cd cg/m2c ; $(MAKE) bin.conv -cd cg/src ; $(MAKE) bin.conv -cd ell/m2c ; $(MAKE) bin.conv -cd ell/src ; $(MAKE) bin.conv -cd estra/m2c ; $(MAKE) bin.conv -cd front/m2c ; $(MAKE) bin.conv -cd front/src ; $(MAKE) bin.conv -cd puma/m2c ; $(MAKE) bin.conv -cd puma/src ; $(MAKE) bin.conv -cd r2l/m2c ; $(MAKE) bin.conv -cd rex/m2c ; $(MAKE) bin.conv -cd rex/src ; $(MAKE) bin.conv -cd rpp/m2c ; $(MAKE) bin.conv test: -cd specs/c/ada ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) -cd specs/c/c ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) -cd specs/c/c++ ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) -cd specs/c/modula2 ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) -cd specs/c/modula2.ell ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) -cd specs/c/sather ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) -cd specs/c/sql ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) -cd specs/c/oberon2 ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) -cd specs/c/minilax ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) minilax -cd specs/c/wag ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) minilax -cd specs/modula/ada ; $(MAKE) -i -cd specs/modula/modula2 ; $(MAKE) -i -cd specs/modula/modula2.ell ; $(MAKE) -i -cd specs/modula/modula3 ; $(MAKE) -i -cd specs/modula/oberon ; $(MAKE) -i -cd specs/modula/pascal ; $(MAKE) -i -cd specs/modula/minilax ; $(MAKE) -i minilax -cd specs/modula/wag ; $(MAKE) -i minilax clean: -cd reuse/c ; $(MAKE) clean -cd reuse/src ; $(MAKE) clean -cd common/src ; $(MAKE) clean -cd rex/src ; $(MAKE) clean -cd rex/test ; $(MAKE) clean -cd front/src ; $(MAKE) clean -cd bnf/src ; $(MAKE) clean -cd lalr/src ; $(MAKE) clean -cd ell/src ; $(MAKE) clean -cd l2r ; $(MAKE) clean -cd y2l ; $(MAKE) clean -cd r2l/src ; $(MAKE) clean -cd rpp/src ; $(MAKE) clean -cd cg/src ; $(MAKE) clean -cd puma/src ; $(MAKE) clean -cd mpp/src ; $(MAKE) clean -cd estra/src ; $(MAKE) clean -cd reuse/m2c ; $(MAKE) clean -cd common/m2c ; $(MAKE) clean -cd rex/m2c ; $(MAKE) clean -cd front/m2c ; $(MAKE) clean -cd bnf/m2c ; $(MAKE) clean -cd lalr/m2c ; $(MAKE) clean -cd ell/m2c ; $(MAKE) clean -cd r2l/m2c ; $(MAKE) clean -cd rpp/m2c ; $(MAKE) clean -cd cg/m2c ; $(MAKE) clean -cd puma/m2c ; $(MAKE) clean -cd estra/m2c ; $(MAKE) clean -cd specs/c/ada ; $(MAKE) clean -cd specs/c/c ; $(MAKE) clean -cd specs/c/c++ ; $(MAKE) clean -cd specs/c/modula2 ; $(MAKE) clean -cd specs/c/modula2.ell ; $(MAKE) clean -cd specs/c/sather ; $(MAKE) clean -cd specs/c/sql ; $(MAKE) clean -cd specs/c/oberon2 ; $(MAKE) clean -cd specs/c/minilax ; $(MAKE) clean -cd specs/c/wag ; $(MAKE) clean -cd specs/modula/ada ; $(MAKE) clean -cd specs/modula/modula2 ; $(MAKE) clean -cd specs/modula/modula2.ell ; $(MAKE) clean -cd specs/modula/modula3 ; $(MAKE) clean -cd specs/modula/oberon ; $(MAKE) clean -cd specs/modula/pascal ; $(MAKE) clean -cd specs/modula/minilax ; $(MAKE) clean -cd specs/modula/wag ; $(MAKE) clean